home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-13
/
tmed150c.zip
/
TMED.DOC
< prev
next >
Wrap
Text File
|
1992-10-24
|
16KB
|
354 lines
TMED is copyrighted 1992 by Liang Chen. No portion of this program may be
reproduced without the written permission of Liang Chen. It is a
shareware now. If you find it is useful and continue to use it, please
send $20 registration fee at following address
Liang Chen
3227 Middlesex, Apt C
Toledo, OH 43606
USA
lchen2@uoft02.utoledo.edu
Good suggestion for major enhancement from the user are welcomed. If it
is implemented in the future TMED version, you can have it for free.
There is no fee charged for upgrade.
STANDARD DISCLAIMERS: THE COPYRIGHT HOLDER OFFERS NO WARRANTY WITH THIS
PROGRAM WHATSOEVER. NEITHER SHALL HE BE LIABLE FOR DAMAGES OF ANY KIND
THAT MAY ARISE FROM ITS USE.
INTRODUCTION
TMED is a TSR memory editor which takes 8K memory when is loaded. It
can be used as an auxiliary debugging tool for programmers, or
sometime as a gamebuster. TMED can view what is in the memory and edit
the memory while other programs are running. TMED works great with
Turbo Debugger.
TMED versions after 1.20 come with a key macro function. Since TMED is
resident in the memory, this key macro function may be used for any
other foreground running programs. But if the foreground programs also
hook to the INT08, INT09 handlers and use it heavily, the time delay
by the foreground program may cause problems for the macro function.
This is because a BIOS problem that some keys are overwritten before
it can be read.
WARNING: TMED is not bug proof. The system may halt due to an
improper operation (such as editing or loading in critical
memory area, set wrong breakpoints, enter wrong data, etc.).
Not all people will benefit from this program. You have to
know something about programming in order to make full use
of it.
OPERATION
LOADING:
Enter 'TMED' at DOS prompt, then press <RETURN>.
INVOCATION:
There are two ways to invoke the TMED, a) Hotkey: press left
<Ctrl> key twice; b) Breakpoint; it will pause and invoke
TMED when DOS runs to breakpoint (See how to set breakpoint
in the following instructions). If the invocation is
successful, TMED will display a memory page (256 bytes) in
hex and ascii codes and the command options.
(Try to run TMED as a TSR now and activate it (press the
left <Ctrl> key twice) while you are reading this file. It
will help you understand the following commands.)
KEY MACRO FUNCTIONS:
Macro function may be used any time when the TMED is in
resident. The macro buffer are big enough for 192 keys.
Press Mky1 (default F11 key) once to record the key macro
(you will hear a short sound). Press F11 again will end
macro recording mode (you will hear a longer sound).
Press Mky2 (default F12 key) will execute the key macro.
There is no time delay while executing the key macro.
If you press Mky2 key while macro is in recording mode, then
it is a recursive macro. For example, you can let a
recursive macro continuously turns page for you. While
a recursive macro is executing, press any key will stop the
macro running.
Mky1 and Mky2 may be assigned to other keys (see below), in
case these keys are used by the foreground running programs.
COMMANDS:
Commands are invoked by pressing the <Alt> key with the upper
case letter in the command option line.
TMED: <Alt>-T will display the TMED data segment. The cursor will
be placed at the first byte of the string input buffer. To
reduce the size of TMED, some data are entered by editing
the corresponding memory addresses in the data segment.
Useful information shown in this page and next page are:
Mode:XBodc:X Editing mode and screen board
color.
May be changed by editor.
Txtc:XHilc:X Text color and highlight
color. highlight color are
used to display bytes in
memory that are different from
the saved buffer or dumped
file. The saved memory buffer
is 256 bytes (a page). May be
changed by editor.
Swpg:XSwmd:X Switch page and video mode
when TMED is invoked. TMED
will try to work in different
video page. If it does not
work normally, try different
Txtc, Hilc, Swpg. TMED does
not save the original screen.
After quit TMED, programs will
operate as before the popup.
But the graphic display and
colors may be changed. May be
changed by editor.
NOTE: AFTER CHANGING THE SWPG,
ALL DISPLAY WILL OUTPUT TO THE
NEW PAGE. YOU SHOULD QUIT
EDITOR MODE AND TMED, THEN
POPUP AGAIN.
Odpg:XOdmd:X Old video mode and page before
popup. Please do not change it.
Endc:XWldc:X The ending char and the wild
char in the search string. By
default, ending char is hex
00; wild char is hex FF. For
example, to find
instruction hex
cmp al,XX 3C XX
jne XX 75 XX
the search string may be
entered as (in hex)
3C FF 75 00
Endc and Wldc may be changed
by editor.
Ustc:XCsrc:X Unset breakpoint byte and
cursor color. By default, Ustc
is hex 'CD' (hex code for
interrupt 'int'); May be
changed by editor.
AX= XXBX= XX The register values before popup
CX= XXDX= XX or breakpoint.
SI= XXDI= XX
CS= XXIP= XX CS:IP, next instruction address
after breakpoint pause.
Line of input: 16 bytes string buffer for 'Find'
XXXXXXXXXXXXXXXX command. Using editor
to change the string.
(next memory page)
Seg1XXSeg2XX Search start and end segment
addresses. By default, Seg1 is
set to the top memory address of
TMED; Seg2 is set to A000, ie.,
the top of the conventional
memory.
May be changed by editor.
GadrXXPadrXX Current and previous addresses.
DadrXXJadrXX Memory dump and relative jump
start addresses.
May be changed by editor.
Mky1XXMky2XX Scan codes of Mky1 and Mky2.
May be changed to other keys by
the editor.
MadrXXKadrXX Memory and KeyMacro buffer
addresses.
KnumXXSflgXX Knum = Macro key number.
Sflg = sound flag.
= 0 sound off
= 1 sound on (default)
May be changed by editor.
SnhiXXSnlwXX Beep sound high and low tones.
May be changed by editor.
DmpfXXXX.XXX ASCIIZ dump file name.
May be changed by TMED editor.
You may find other variables in the TMED data area. But these data
are not explained and marked. You are supposed not to change them.
ALPHA/HEX MODE: Change editing modes.
EDIT: Invoke the alpha/hex memory editor to edit current
memory page (not ROM). <ESC> or <ENTER> to quit edit
mode. Using direction keys to move cursor.
FIND/NEXT: <Alt>-F will find the first string that you entered in
the search string buffer between the memory addresses
of Seg1 and Seg2. <Alt>-N will find the next string.
GOTO/JUMP/PREVIOUS: <Alt>-G will read a new segment address from
the keyboard (in hex, no echo), then go to the new
address; <Alt>-J will read a relative jump address
from the keyboard (in hex, no echo), then jump to the
new address. The actual address is affected by the
base address saved in Jadrs; <Alt>-P will goto
previous address.
DUMP/COMPARE/MORE: <Alt>-D will dump 64k (256 pages) memory start
from current page to the dump file; <Alt>-C will enter
the comparing mode and compare the dump file with the
current memory. The changed memory bytes are displayed
in highlight color; <Alt>-M will move to next page
that has changes; <Alt>-C again will quit comparing
mode.
CONVERT: Convert decimal number ( < 65535 ) at the string
buffer to hex code. Useful when try to find the stored
game score addresses and cheat the game.
KEYCODE: <Alt>-K once, the string buffer will display the scan
code of any key input that follows. <Alt>-k again will
exit. Macro recording in this mode will just record
the keystrokes.
RESTORE: Restore the byte at current cursor position from the
memory buffer to the memory.
SETBREAKPOINT/IP: <Alt>-S will set the break point at current
cursor position; <Alt>-I will goto the breakpoint that
invoked TMED. The breakpoint byte may also be changed
by the editor. Tips for activating TMED when play
games: if hotkey works, fine; if hotkey does not work,
use a binary editor put 'CC' in the game executable
file (be sure you keep a copy of it).
Please note that if the breakpoint you set is not the
first byte of an executable instruction, unpredictable
results will be seen as program execution passes
through the breakpoint. A breakpoint in a ROM area
will not operate since instructions in ROM cannot be
replaced with a breakpoint instruction.
When Turbo Debugger is running, the breakpoints set by
TMED will like the breakpoints set by Turbo Debugger.
But You have to restore the original codes before
executing following instructions.
Update: <Alt>-U will update the current memory page.
LOAD: <Alt>-R will restore the dumped memory region from the
dumped file.
Boot: <Alt>-B will do a warm boot.
Quit: <Alt>-Q will quit TMED.
(Operation):<Alt>-O will toggle between the foreground mode and
background operation mode. There is no screen output
in a background operation mode, but all other command
options (include the macro function) are still
available when TMED is invoked. This mode is useful
when the foreground running programs is in graphic mode
and you do not want destroy the screen.
ACKNOWLEDGEMENT
The original TSR shell I used for TMED was written by Thomas
Brandenborg (filename TSRDEMO2.ARC on simtel20 site). His copyright
and address are included below
Copyright 1987 by Thomas Brandenborg. All Rights Reserved.
Thomas Brandenborg
Lundbyesgade 11
DK-8000 Aarhus C
DENMARK
WHAT IS NEW?
Major revisions in version V1.5C
(10/23/92)
1) Now TMED can be operated in completed background mode. When the
foreground running program is in graphic mode the screen will
not be distroyed, since there is no screen output.
2) Some bugs in key macro function are fixed.
Major revisions in version V1.4C
(10/16/92)
1) The screen output speed is simply three times faster than the
old version.
Major revisions in version V1.3A
(10/12/92)
1) A major bug fixed in the key macro function.
Major revisions in version V1.2H
(10/9/92)
1) Add key macro function to TMED.
2) Commands are now invoked by press <Alt> key and the upper
letters in the command option line. This avoids the confusion
of commands and data entry operation.
Major revisions in version V1.10
(9/25/92)
1) Fix the bottom display shift-up problem when using the Compare
command without dumping the memory first (or tmed.dmp file not
found in current directory).
2) Allow cursor has different color from the highlight text color.
3) Some improvement in the display.